package com.hui.stock.mapper;

import com.hui.stock.pojo.entity.SysPermission;
import com.hui.stock.pojo.entity.SysRolePermission;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author ymh
* @description 针对表【sys_role_permission(角色权限表)】的数据库操作Mapper
* @createDate 2024-11-11 16:04:25
* @Entity com.hui.stock.pojo.entity.SysRolePermission
*/
public interface SysRolePermissionMapper {

    int deleteByPrimaryKey(Long id);

    int insert(SysRolePermission record);

    int insertSelective(SysRolePermission record);

    SysRolePermission selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SysRolePermission record);

    int updateByPrimaryKey(SysRolePermission record);

    /**
     * 根据用户角色ids获取可用的权限列表
     * @param list 角色id列表
     * @return
     */
    List<SysPermission> getPermissionList(@Param("list") List<Long> list);

    /**
     * 批量插入角色权限
     * @param sysRolePermissions
     * @return
     */
    int batchInsert(@Param("sysRolePermissions") List<SysRolePermission> sysRolePermissions);

    /**
     * 根据角色id获取可用的权限id
     * @param roleId
     * @return
     */
    List<Long> getPermissionIds(@Param("roleId") Long roleId);

    /**
     * 根据用户角色id删除角色权限表
     * @param roleId
     */
    void deleteByRoleId(@Param("roleId") Long roleId);
}
